package com.quizzer.system.domain;

import java.time.LocalDateTime;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.quizzer.common.annotation.Excel;

/**
 * 小程序用户对象 app_user
 *
 * @author ruoyi
 * @date 2025-10-07
 */
public class AppUser
{
    private static final long serialVersionUID = 1L;

// DEBUG: id - Long - 小程序用户ID
    /** 小程序用户ID */
    private Long id;

// DEBUG: openid - String - 微信/小程序唯一标识
    /** 微信/小程序唯一标识 */
    @Excel(name = "微信/小程序唯一标识")
    private String openid;

// DEBUG: username - String - 用户名/昵称
    /** 用户名/昵称 */
    @Excel(name = "用户名/昵称")
    private String username;

// DEBUG: avatarUrl - String - 头像
    /** 头像 */
    @Excel(name = "头像")
    private String avatarUrl;

// DEBUG: gender - Integer - 性别：0未知 1男 2女
    /** 性别：0未知 1男 2女 */
    @Excel(name = "性别：0未知 1男 2女")
    private Integer gender;

// DEBUG: status - Integer - 状态：1正常 0禁用
    /** 状态：1正常 0禁用 */
    @Excel(name = "状态：1正常 0禁用")
    private Integer status;

// DEBUG: createTime - LocalDateTime - 注册时间
    /** 注册时间 */
    private LocalDateTime createTime;

// DEBUG: updateTime - LocalDateTime - 更新时间
    /** 更新时间 */
    private LocalDateTime updateTime;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }

    public void setOpenid(String openid)
    {
        this.openid = openid;
    }

    public String getOpenid()
    {
        return openid;
    }

    public void setUsername(String username)
    {
        this.username = username;
    }

    public String getUsername()
    {
        return username;
    }

    public void setAvatarUrl(String avatarUrl)
    {
        this.avatarUrl = avatarUrl;
    }

    public String getAvatarUrl()
    {
        return avatarUrl;
    }

    public void setGender(Integer gender)
    {
        this.gender = gender;
    }

    public Integer getGender()
    {
        return gender;
    }

    public void setStatus(Integer status)
    {
        this.status = status;
    }

    public Integer getStatus()
    {
        return status;
    }

    public void setCreateTime(LocalDateTime createTime)
    {
        this.createTime = createTime;
    }

    public LocalDateTime getCreateTime()
    {
        return createTime;
    }

    public void setUpdateTime(LocalDateTime updateTime)
    {
        this.updateTime = updateTime;
    }

    public LocalDateTime getUpdateTime()
    {
        return updateTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("openid", getOpenid())
            .append("username", getUsername())
            .append("avatarUrl", getAvatarUrl())
            .append("gender", getGender())
            .append("status", getStatus())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
